home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_09_04 / 9n04074a < prev    next >
Text File  |  1991-02-17  |  935b  |  36 lines

  1.  
  2. /********************************************************************/
  3. /*            Boolean class.        Copyright by Joe Schell 1989.         */
  4. /********************************************************************/
  5.  
  6. #ifndef CLASS_boolean
  7. #define CLASS_boolean
  8.  
  9. const int TRUE    = 1;
  10. const int FALSE = 0;
  11.  
  12. class boolean
  13.     {
  14.     int b;        // boolean type.
  15.     void value(const int i) { b = (i) ? TRUE : FALSE; }
  16.  
  17. public:
  18.     boolean()            { b = FALSE; }
  19.     boolean(const int i)        { value(i); }
  20.     boolean(const boolean &i)    { b = i.b; }
  21.  
  22.     operator int()    const    { return b; }
  23.     operator ~()    const    { return b ? FALSE : TRUE; }
  24.     boolean &operator=(const int &i) { value(i);  return *this; }
  25.     boolean &operator++()    { b = b ? FALSE : TRUE;  return *this; }
  26.     boolean &operator--()    { return (*this)++; }
  27.  
  28.     char *make_string()     const    { return b ? "true" : "false"; }
  29.  
  30.     };    // End of boolean class.
  31.  
  32. const boolean true(TRUE), false(FALSE);
  33.  
  34. #endif
  35.  
  36.